package com.openbravo.data.user;

import java.util.Comparator;

import com.openbravo.data.basic.BasicException;

public interface I_BrowsableEditableData<T> extends I_BrowsableData<T>{
    int ST_DELETE = 2;
    int ST_INSERT = 3;
    int ST_UPDATE = 1;

    void actionDelete() throws BasicException;

    void actionInsert() throws BasicException;

    void actionLoad() throws BasicException;

    void addEditorListener(EditorListener l);

    void addStateListener(StateListener l);

    boolean canDeleteData();

    boolean canInsertData();

    boolean canUpdateData();

    int getState();

    boolean isAdjusting();

    void saveData() throws BasicException;

    void setEditable(boolean value);

    void unloadData() throws BasicException;

    void sort(Comparator c) throws BasicException;
}
